What is mdast-util-definitions?
The mdast-util-definitions npm package is a utility for working with Markdown Abstract Syntax Tree (MDAST) data structures. It provides a way to look up and manage definitions in a MDAST, which is useful when working with markdown documents in a programmatic way. This can include tasks like parsing, manipulating, or inspecting markdown content.
What are mdast-util-definitions's main functionalities?
Definition lookup
This feature allows you to look up definitions in a MDAST by their identifier. It's useful for resolving references in markdown documents, such as links or images, to their corresponding definitions.
const definitions = require('mdast-util-definitions');
const ast = { /* some MDAST */ };
const definition = definitions(ast);
console.log(definition('referenceId'));
Other packages similar to mdast-util-definitions
unist-util-visit
While unist-util-visit is not specifically designed for handling definitions within markdown documents, it is a utility for traversing Unist syntax trees, which includes MDASTs. It can be used in conjunction with mdast-util-definitions for more complex operations involving visiting nodes and acting upon them, offering a broader scope of manipulation than mdast-util-definitions.
remark-parse
remark-parse is a part of the remark ecosystem, which is built on top of MDAST. It is used for parsing markdown into MDASTs. While it doesn't provide definition lookup functionality directly, it is a foundational tool for creating MDASTs from markdown content, which can then be used with mdast-util-definitions for definition management.
mdast-util-definitions
mdast utility to get definitions by identifier
.
Supports funky keys, like __proto__
or toString
.
Install
npm:
npm install mdast-util-definitions
npm with TypeScript support:
npm install mdast-util-definitions @types/mdast
Use
var remark = require('remark')
var definitions = require('mdast-util-definitions')
var ast = remark().parse('[example]: https://example.com "Example"')
var definition = definitions(ast)
definition('example')
definition('foo')
API
definitions(tree)
Create a cache of all definitions in tree
.
Uses CommonMark precedence: prefers the first definitions for duplicate
definitions.
Returns
Function
definition(identifier)
Parameters
Returns
Node?
— Definition, if found.
Security
Use of mdast-util-definitions
does not involve hast or user
content so there are no openings for cross-site scripting (XSS) attacks.
Additionally, safe guards are in place to protect against prototype poisoning.
Related
Contribute
See contributing.md
in syntax-tree/.github
for ways to get
started.
See support.md
for ways to get help.
This project has a code of conduct.
By interacting with this repository, organization, or community you agree to
abide by its terms.
License
MIT © Titus Wormer